1. Field of the Invention
The present invention relates generally to concurrent processing and mapping of multiple input/output requests and more particularly to input/output controllers to interface with an array of electronic devices such as computers, servers, networks, storage devices and the like.
2. Background Information
Low-level control of a single disk drive to store data on one or more spinning magnetic disks is well known. Usually a dedicated disk drive controller performs the low level control of moving the read/write heads to the appropriate track and sector to read, write, or format the spinning magnetic disks.
High-level control of a single disk drive is typically provided by software such as a software driver that interfaces the disk drive to a particular operating system of a computer. Another type of high-level control of a single disk drive is partitioning software that partitions a single disk drive into multiple volumes of storage areas.
Another type of high-level control for multiple disk drives is redundant array of individual disks (RAID) software that is used to provide redundancy and increase reliability of the storage of data when multiple disks are available. Different levels of RAID software are available including RAID 0, RAID 1 and RAID 5, which provide different mechanisms of redundancy and reliability depending upon the system level requirements.
As the amount of data to be stored has become greater and the number of users requiring access to data has become larger, it has become a greater challenge to manage data storage. To ease data storage management, such as data backup and disaster recovery, it has become desirable to centralize data storage to a common pool of disks. The centralized data storage can be made available to multiple users over a network. Furthermore with the advent of the internet, centralized data storage provides increased data availability to a broader and larger distribution of users.
Because the amount of data has grown and the number of users requiring access to centralized data storage has increased, the high level control of multiple disk drives by software alone has become disadvantageous. A main disadvantage to high-level control by software is that it is slow and creates a performance bottleneck in the flow of data into and out of the multiple array of disk drives.
It is desirable to overcome the disadvantages of the prior art.
Like reference numbers and designations in the drawings indicate like elements providing similar functionality.